package com.haha.qqchannelbot.core.entity;


import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

@Setter
@Getter
@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DData {

    private Integer version;

    @JsonProperty("session_id")
    private String sessionId;

    private User user;

    private Integer[] shard;

    /**
     * 发送人
     */
    private Author author;

    /**
     * 子频道id
     */
    @JsonProperty("channel_id")
    private String channelId;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 频道id
     */
    @JsonProperty("guild_id")
    private String guildId;

    /**
     * 消息id
     */
    private String id;

    /**
     * 用户
     */
    private Object member;

    /**
     * 提到的人
     */
    private List<Object> mentions;

    private String timestamp;

    private Integer seq;

    @JsonProperty("seq_in_channel")
    private String seqInChannel;

    /**
     * 心跳休眠
     */
    @JsonProperty("heartbeat_interval")
    private Long heartbeatInterval;

    /**
     * 监听事件类型
     * #{@link com.haha.qqchannelbot.core.common.BotIntent}
     */
    private Integer intents;

    /**
     * 请求token
     */
    private String token;

}
